	.file	1 "tp0.c"
	.section .mdebug.abi32
	.previous
	.abicalls
	.rdata
	.align	2
$LC0:
	.ascii	"Usage:\n\000"
	.align	2
$LC1:
	.ascii	"%s -h\n\000"
	.align	2
$LC2:
	.ascii	"%s -V\n\000"
	.align	2
$LC3:
	.ascii	"%s [options]\n\000"
	.align	2
$LC4:
	.ascii	"Options:\n\000"
	.align	2
$LC5:
	.ascii	"%s -V, --version\t\t\tPrint version and quit.\n\000"
	.align	2
$LC6:
	.ascii	"%s -h, --help\t\t\tPrint this information.\n\000"
	.align	2
$LC7:
	.ascii	"%s -i, --input\t\t\tLocation of the input file.\n\000"
	.align	2
$LC8:
	.ascii	"%s -o, --output\t\t\tLocation of the output file.\n\000"
	.align	2
$LC9:
	.ascii	"%s -e, --encode\t\t\tEncode file.\n\000"
	.align	2
$LC10:
	.ascii	"%s -d, --decode\t\t\tDecode file.\n\000"
	.align	2
$LC11:
	.ascii	"Examples:\n\000"
	.align	2
$LC12:
	.ascii	"%s -e -i input.txt -o output.txt\000"
	.align	2
$LC13:
	.ascii	"%s --decode\n\000"
	.text
	.align	2
	.globl	usage
	.ent	usage
usage:
	.frame	$fp,40,$ra		# vars= 0, regs= 3/0, args= 16, extra= 8
	.mask	0xd0000000,-8
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$t9
	.set	reorder
	subu	$sp,$sp,40
	.cprestore 16
	sw	$ra,32($sp)
	sw	$fp,28($sp)
	sw	$gp,24($sp)
	move	$fp,$sp
	sw	$a0,40($fp)
	la	$a0,__sF+88
	la	$a1,$LC0
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC1
	lw	$a2,40($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC2
	lw	$a2,40($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC3
	lw	$a2,40($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC4
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC5
	lw	$a2,40($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC6
	lw	$a2,40($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC7
	lw	$a2,40($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC8
	lw	$a2,40($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC9
	lw	$a2,40($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC10
	lw	$a2,40($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC11
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC12
	lw	$a2,40($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+88
	la	$a1,$LC13
	lw	$a2,40($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	move	$sp,$fp
	lw	$ra,32($sp)
	lw	$fp,28($sp)
	addu	$sp,$sp,40
	j	$ra
	.end	usage
	.size	usage, .-usage
	.rdata
	.align	2
$LC14:
	.ascii	"Error de padding, si el tercer caracter es '=', el cuert"
	.ascii	"o debe serlo.\n\000"
	.align	2
$LC15:
	.ascii	"Caracter invalido (ASCII %d) %c\n\000"
	.text
	.align	2
	.globl	doDecode
	.ent	doDecode
doDecode:
	.frame	$fp,72,$ra		# vars= 32, regs= 3/0, args= 16, extra= 8
	.mask	0xd0000000,-8
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$t9
	.set	reorder
	subu	$sp,$sp,72
	.cprestore 16
	sw	$ra,64($sp)
	sw	$fp,60($sp)
	sw	$gp,56($sp)
	move	$fp,$sp
	sw	$a0,72($fp)
	sw	$a1,76($fp)
	sw	$a2,80($fp)
	sw	$zero,28($fp)
	sw	$zero,24($fp)
$L19:
	lw	$v0,24($fp)
	slt	$v0,$v0,4
	bne	$v0,$zero,$L22
	b	$L20
$L22:
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v0,0($v0)
	slt	$v0,$v0,65
	bne	$v0,$zero,$L23
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v0,0($v0)
	slt	$v0,$v0,91
	beq	$v0,$zero,$L23
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,24
	addu	$v0,$v1,$v0
	addu	$a0,$v0,8
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v0,0($v0)
	addu	$v0,$v0,-65
	sw	$v0,0($a0)
	b	$L21
$L23:
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v0,0($v0)
	slt	$v0,$v0,97
	bne	$v0,$zero,$L25
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v0,0($v0)
	slt	$v0,$v0,123
	beq	$v0,$zero,$L25
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,24
	addu	$v0,$v1,$v0
	addu	$a0,$v0,8
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v0,0($v0)
	addu	$v0,$v0,-71
	sw	$v0,0($a0)
	b	$L21
$L25:
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v0,0($v0)
	slt	$v0,$v0,48
	bne	$v0,$zero,$L27
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v0,0($v0)
	slt	$v0,$v0,58
	beq	$v0,$zero,$L27
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,24
	addu	$v0,$v1,$v0
	addu	$a0,$v0,8
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v0,0($v0)
	addu	$v0,$v0,4
	sw	$v0,0($a0)
	b	$L21
$L27:
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v1,0($v0)
	li	$v0,43			# 0x2b
	bne	$v1,$v0,$L29
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,24
	addu	$v0,$v1,$v0
	addu	$v1,$v0,8
	li	$v0,62			# 0x3e
	sw	$v0,0($v1)
	b	$L21
$L29:
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v1,0($v0)
	li	$v0,47			# 0x2f
	bne	$v1,$v0,$L31
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,24
	addu	$v0,$v1,$v0
	addu	$v1,$v0,8
	li	$v0,63			# 0x3f
	sw	$v0,0($v1)
	b	$L21
$L31:
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v1,0($v0)
	li	$v0,61			# 0x3d
	bne	$v1,$v0,$L33
	lw	$v1,24($fp)
	li	$v0,2			# 0x2
	bne	$v1,$v0,$L33
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	addu	$v0,$v0,4
	lw	$v1,0($v0)
	li	$v0,61			# 0x3d
	beq	$v1,$v0,$L34
	la	$a0,__sF+176
	la	$a1,$LC14
	la	$t9,fprintf
	jal	$ra,$t9
	li	$v0,-1			# 0xffffffffffffffff
	sw	$v0,48($fp)
	b	$L18
$L34:
	lw	$v0,28($fp)
	addu	$v0,$v0,1
	sw	$v0,28($fp)
	b	$L21
$L33:
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	lw	$v1,0($v0)
	li	$v0,61			# 0x3d
	bne	$v1,$v0,$L36
	lw	$v1,24($fp)
	li	$v0,3			# 0x3
	bne	$v1,$v0,$L36
	lw	$v0,28($fp)
	addu	$v0,$v0,1
	sw	$v0,28($fp)
	b	$L21
$L36:
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$a2,$v1,$v0
	lw	$v0,24($fp)
	sll	$v1,$v0,2
	lw	$v0,72($fp)
	addu	$v0,$v1,$v0
	la	$a0,__sF+176
	la	$a1,$LC15
	lw	$a2,0($a2)
	lw	$a3,0($v0)
	la	$t9,fprintf
	jal	$ra,$t9
	li	$v0,-1			# 0xffffffffffffffff
	sw	$v0,48($fp)
	b	$L18
$L21:
	lw	$v0,24($fp)
	addu	$v0,$v0,1
	sw	$v0,24($fp)
	b	$L19
$L20:
	sw	$zero,24($fp)
$L38:
	lw	$v0,24($fp)
	lw	$v1,80($fp)
	slt	$v0,$v0,$v1
	bne	$v0,$zero,$L41
	b	$L39
$L41:
	lw	$v1,76($fp)
	lw	$v0,24($fp)
	addu	$v0,$v1,$v0
	sb	$zero,0($v0)
	lw	$v0,24($fp)
	addu	$v0,$v0,1
	sw	$v0,24($fp)
	b	$L38
$L39:
	lw	$v1,76($fp)
	lw	$v0,32($fp)
	sll	$v0,$v0,2
	sb	$v0,0($v1)
	lw	$a0,76($fp)
	lw	$v1,76($fp)
	lw	$v0,36($fp)
	sra	$v0,$v0,4
	lbu	$v1,0($v1)
	or	$v0,$v1,$v0
	sb	$v0,0($a0)
	lw	$v0,76($fp)
	addu	$v1,$v0,1
	lw	$v0,36($fp)
	sll	$v0,$v0,4
	sb	$v0,0($v1)
	lw	$v0,76($fp)
	addu	$a0,$v0,1
	lw	$v0,76($fp)
	addu	$v1,$v0,1
	lw	$v0,40($fp)
	sra	$v0,$v0,2
	lbu	$v1,0($v1)
	or	$v0,$v1,$v0
	sb	$v0,0($a0)
	lw	$v0,76($fp)
	addu	$v1,$v0,2
	lw	$v0,40($fp)
	sll	$v0,$v0,6
	sb	$v0,0($v1)
	lw	$v0,76($fp)
	addu	$a0,$v0,2
	lw	$v0,76($fp)
	addu	$v0,$v0,2
	lbu	$v1,0($v0)
	lbu	$v0,44($fp)
	or	$v0,$v1,$v0
	sb	$v0,0($a0)
	li	$v1,3			# 0x3
	lw	$v0,28($fp)
	subu	$v0,$v1,$v0
	sw	$v0,48($fp)
$L18:
	lw	$v0,48($fp)
	move	$sp,$fp
	lw	$ra,64($sp)
	lw	$fp,60($sp)
	addu	$sp,$sp,72
	j	$ra
	.end	doDecode
	.size	doDecode, .-doDecode
	.align	2
	.globl	doEncode
	.ent	doEncode
doEncode:
	.frame	$fp,40,$ra		# vars= 24, regs= 2/0, args= 0, extra= 8
	.mask	0x50000000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$t9
	.set	reorder
	subu	$sp,$sp,40
	.cprestore 0
	sw	$fp,36($sp)
	sw	$gp,32($sp)
	move	$fp,$sp
	sw	$a0,40($fp)
	sw	$a1,44($fp)
	sw	$a2,48($fp)
	sw	$zero,8($fp)
$L43:
	lw	$v0,8($fp)
	lw	$v1,48($fp)
	slt	$v0,$v0,$v1
	bne	$v0,$zero,$L46
	b	$L44
$L46:
	lw	$v0,8($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,8
	addu	$v0,$v1,$v0
	addu	$v0,$v0,8
	sw	$zero,0($v0)
	lw	$v0,8($fp)
	addu	$v0,$v0,1
	sw	$v0,8($fp)
	b	$L43
$L44:
	lw	$v0,48($fp)
	sw	$v0,8($fp)
$L47:
	lw	$v0,8($fp)
	slt	$v0,$v0,3
	bne	$v0,$zero,$L50
	b	$L48
$L50:
	lw	$v0,8($fp)
	sll	$v1,$v0,2
	lw	$v0,40($fp)
	addu	$v0,$v1,$v0
	sw	$zero,0($v0)
	lw	$v0,8($fp)
	addu	$v0,$v0,1
	sw	$v0,8($fp)
	b	$L47
$L48:
	lw	$v0,40($fp)
	lw	$v0,0($v0)
	sra	$v0,$v0,2
	sw	$v0,16($fp)
	lw	$v0,16($fp)
	andi	$v0,$v0,0x3f
	sw	$v0,16($fp)
	lw	$v0,40($fp)
	lw	$v0,0($v0)
	sll	$v0,$v0,4
	andi	$v0,$v0,0x3f
	sw	$v0,20($fp)
	lw	$v0,40($fp)
	addu	$v0,$v0,4
	lw	$v0,0($v0)
	sra	$v0,$v0,4
	andi	$v1,$v0,0x3f
	lw	$v0,20($fp)
	or	$v0,$v0,$v1
	sw	$v0,20($fp)
	lw	$v0,40($fp)
	addu	$v0,$v0,4
	lw	$v0,0($v0)
	sll	$v0,$v0,2
	andi	$v0,$v0,0x3f
	sw	$v0,24($fp)
	lw	$v0,40($fp)
	addu	$v0,$v0,8
	lw	$v0,0($v0)
	sra	$v0,$v0,6
	andi	$v1,$v0,0x3f
	lw	$v0,24($fp)
	or	$v0,$v0,$v1
	sw	$v0,24($fp)
	lw	$v0,40($fp)
	addu	$v0,$v0,8
	lw	$v0,0($v0)
	andi	$v0,$v0,0x3f
	sw	$v0,28($fp)
	sw	$zero,8($fp)
$L51:
	lw	$v0,8($fp)
	slt	$v0,$v0,4
	bne	$v0,$zero,$L54
	b	$L52
$L54:
	lw	$v0,8($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,8
	addu	$v0,$v1,$v0
	addu	$v0,$v0,8
	lw	$v0,0($v0)
	slt	$v0,$v0,26
	beq	$v0,$zero,$L55
	lw	$v1,44($fp)
	lw	$v0,8($fp)
	addu	$a0,$v1,$v0
	lw	$v0,8($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,8
	addu	$v0,$v1,$v0
	addu	$v0,$v0,8
	lbu	$v0,0($v0)
	addu	$v0,$v0,65
	sb	$v0,0($a0)
	b	$L53
$L55:
	lw	$v0,8($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,8
	addu	$v0,$v1,$v0
	addu	$v0,$v0,8
	lw	$v0,0($v0)
	slt	$v0,$v0,52
	beq	$v0,$zero,$L57
	lw	$v1,44($fp)
	lw	$v0,8($fp)
	addu	$a0,$v1,$v0
	lw	$v0,8($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,8
	addu	$v0,$v1,$v0
	addu	$v0,$v0,8
	lbu	$v0,0($v0)
	addu	$v0,$v0,71
	sb	$v0,0($a0)
	b	$L53
$L57:
	lw	$v0,8($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,8
	addu	$v0,$v1,$v0
	addu	$v0,$v0,8
	lw	$v0,0($v0)
	slt	$v0,$v0,62
	beq	$v0,$zero,$L59
	lw	$v1,44($fp)
	lw	$v0,8($fp)
	addu	$a0,$v1,$v0
	lw	$v0,8($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,8
	addu	$v0,$v1,$v0
	addu	$v0,$v0,8
	lbu	$v0,0($v0)
	addu	$v0,$v0,-4
	sb	$v0,0($a0)
	b	$L53
$L59:
	lw	$v0,8($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,8
	addu	$v0,$v1,$v0
	addu	$v0,$v0,8
	lw	$v1,0($v0)
	li	$v0,62			# 0x3e
	bne	$v1,$v0,$L61
	lw	$v1,44($fp)
	lw	$v0,8($fp)
	addu	$v1,$v1,$v0
	li	$v0,43			# 0x2b
	sb	$v0,0($v1)
	b	$L53
$L61:
	lw	$v0,8($fp)
	sll	$v1,$v0,2
	addu	$v0,$fp,8
	addu	$v0,$v1,$v0
	addu	$v0,$v0,8
	lw	$v1,0($v0)
	li	$v0,63			# 0x3f
	bne	$v1,$v0,$L53
	lw	$v1,44($fp)
	lw	$v0,8($fp)
	addu	$v1,$v1,$v0
	li	$v0,47			# 0x2f
	sb	$v0,0($v1)
$L53:
	lw	$v0,8($fp)
	addu	$v0,$v0,1
	sw	$v0,8($fp)
	b	$L51
$L52:
	lw	$v1,48($fp)
	li	$v0,1			# 0x1
	bne	$v1,$v0,$L64
	lw	$v0,44($fp)
	addu	$v1,$v0,2
	li	$v0,61			# 0x3d
	sb	$v0,0($v1)
	lw	$v0,44($fp)
	addu	$v1,$v0,3
	li	$v0,61			# 0x3d
	sb	$v0,0($v1)
	b	$L65
$L64:
	lw	$v1,48($fp)
	li	$v0,2			# 0x2
	bne	$v1,$v0,$L65
	lw	$v0,44($fp)
	addu	$v1,$v0,3
	li	$v0,61			# 0x3d
	sb	$v0,0($v1)
$L65:
	li	$v0,3			# 0x3
	move	$sp,$fp
	lw	$fp,36($sp)
	addu	$sp,$sp,40
	j	$ra
	.end	doEncode
	.size	doEncode, .-doEncode
	.rdata
	.align	2
$LC16:
	.ascii	"wb\000"
	.align	2
$LC17:
	.ascii	"Error - Cannot open output stream %d\n\000"
	.align	2
$LC18:
	.ascii	"Program will close unexpectedly\n\000"
	.align	2
$LC19:
	.ascii	"rb\000"
	.align	2
$LC20:
	.ascii	"Failed to open input\000"
	.text
	.align	2
	.globl	encode
	.ent	encode
encode:
	.frame	$fp,96,$ra		# vars= 56, regs= 3/0, args= 16, extra= 8
	.mask	0xd0000000,-8
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$t9
	.set	reorder
	subu	$sp,$sp,96
	.cprestore 16
	sw	$ra,88($sp)
	sw	$fp,84($sp)
	sw	$gp,80($sp)
	move	$fp,$sp
	sw	$a0,96($fp)
	sw	$a1,100($fp)
	sw	$zero,24($fp)
	lw	$v1,100($fp)
	li	$v0,1			# 0x1
	bne	$v1,$v0,$L68
	la	$v0,__sF+88
	sw	$v0,24($fp)
	b	$L69
$L68:
	lw	$a0,100($fp)
	la	$a1,$LC16
	la	$t9,fdopen
	jal	$ra,$t9
	sw	$v0,24($fp)
	lw	$v0,24($fp)
	bne	$v0,$zero,$L69
	la	$a0,__sF+176
	la	$a1,$LC17
	lw	$a2,100($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+176
	la	$a1,$LC18
	la	$t9,fprintf
	jal	$ra,$t9
	li	$a0,-1			# 0xffffffffffffffff
	la	$t9,exit
	jal	$ra,$t9
$L69:
	sw	$zero,32($fp)
	sw	$zero,36($fp)
	sw	$zero,40($fp)
	sh	$zero,48($fp)
	sb	$zero,50($fp)
	lw	$a0,96($fp)
	la	$a1,$LC19
	la	$t9,fdopen
	jal	$ra,$t9
	sw	$v0,64($fp)
	lw	$v0,64($fp)
	bne	$v0,$zero,$L71
	la	$a0,$LC20
	la	$t9,perror
	jal	$ra,$t9
	li	$v0,1			# 0x1
	sw	$v0,68($fp)
	b	$L67
$L71:
	.set	noreorder
	nop
	.set	reorder
$L72:
	lw	$v1,60($fp)
	li	$v0,-1			# 0xffffffffffffffff
	bne	$v1,$v0,$L74
	b	$L73
$L74:
	sw	$zero,56($fp)
$L75:
	lw	$v0,56($fp)
	slt	$v0,$v0,3
	beq	$v0,$zero,$L76
	lw	$v1,64($fp)
	lw	$v0,64($fp)
	lw	$v0,4($v0)
	addu	$v0,$v0,-1
	sw	$v0,4($v1)
	bgez	$v0,$L80
	lw	$a0,64($fp)
	la	$t9,__srget
	jal	$ra,$t9
	sw	$v0,72($fp)
	b	$L81
$L80:
	lw	$v0,64($fp)
	lw	$v1,0($v0)
	move	$a0,$v1
	lbu	$a0,0($a0)
	sw	$a0,72($fp)
	addu	$v1,$v1,1
	sw	$v1,0($v0)
$L81:
	lw	$v1,72($fp)
	sw	$v1,60($fp)
	li	$v0,-1			# 0xffffffffffffffff
	bne	$v1,$v0,$L77
	b	$L76
$L77:
	addu	$a1,$fp,56
	lw	$a0,0($a1)
	move	$v0,$a0
	sll	$v1,$v0,2
	addu	$v0,$fp,24
	addu	$v0,$v1,$v0
	addu	$v1,$v0,8
	lw	$v0,60($fp)
	sw	$v0,0($v1)
	addu	$a0,$a0,1
	sw	$a0,0($a1)
	b	$L75
$L76:
	lw	$v0,56($fp)
	blez	$v0,$L72
	addu	$v0,$fp,32
	addu	$v1,$fp,48
	move	$a0,$v0
	move	$a1,$v1
	lw	$a2,56($fp)
	la	$t9,doEncode
	jal	$ra,$t9
	addu	$v0,$fp,48
	move	$a0,$v0
	li	$a1,1			# 0x1
	li	$a2,4			# 0x4
	lw	$a3,24($fp)
	la	$t9,fwrite
	jal	$ra,$t9
	b	$L72
$L73:
	lw	$a0,24($fp)
	la	$t9,fclose
	jal	$ra,$t9
	lw	$a0,100($fp)
	la	$t9,close
	jal	$ra,$t9
	lw	$a0,96($fp)
	la	$t9,close
	jal	$ra,$t9
	sw	$zero,68($fp)
$L67:
	lw	$v0,68($fp)
	move	$sp,$fp
	lw	$ra,88($sp)
	lw	$fp,84($sp)
	addu	$sp,$sp,96
	j	$ra
	.end	encode
	.size	encode, .-encode
	.align	2
	.globl	decode
	.ent	decode
decode:
	.frame	$fp,96,$ra		# vars= 56, regs= 3/0, args= 16, extra= 8
	.mask	0xd0000000,-8
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$t9
	.set	reorder
	subu	$sp,$sp,96
	.cprestore 16
	sw	$ra,88($sp)
	sw	$fp,84($sp)
	sw	$gp,80($sp)
	move	$fp,$sp
	sw	$a0,96($fp)
	sw	$a1,100($fp)
	sw	$zero,24($fp)
	lw	$v1,100($fp)
	li	$v0,1			# 0x1
	bne	$v1,$v0,$L84
	la	$v0,__sF+88
	sw	$v0,24($fp)
	b	$L85
$L84:
	lw	$a0,100($fp)
	la	$a1,$LC16
	la	$t9,fdopen
	jal	$ra,$t9
	sw	$v0,24($fp)
	lw	$v0,24($fp)
	bne	$v0,$zero,$L85
	la	$a0,__sF+176
	la	$a1,$LC17
	lw	$a2,100($fp)
	la	$t9,fprintf
	jal	$ra,$t9
	la	$a0,__sF+176
	la	$a1,$LC18
	la	$t9,fprintf
	jal	$ra,$t9
	li	$a0,-1			# 0xffffffffffffffff
	la	$t9,exit
	jal	$ra,$t9
$L85:
	sw	$zero,32($fp)
	sw	$zero,36($fp)
	sw	$zero,40($fp)
	sw	$zero,44($fp)
	sw	$zero,48($fp)
	lw	$a0,96($fp)
	la	$a1,$LC19
	la	$t9,fdopen
	jal	$ra,$t9
	sw	$v0,64($fp)
	lw	$v0,64($fp)
	bne	$v0,$zero,$L87
	la	$a0,$LC20
	la	$t9,perror
	jal	$ra,$t9
	li	$v0,1			# 0x1
	sw	$v0,72($fp)
	b	$L83
$L87:
	.set	noreorder
	nop
	.set	reorder
$L88:
	lw	$v1,60($fp)
	li	$v0,-1			# 0xffffffffffffffff
	bne	$v1,$v0,$L90
	b	$L89
$L90:
	sw	$zero,56($fp)
	sw	$zero,56($fp)
$L91:
	lw	$v0,56($fp)
	slt	$v0,$v0,4
	beq	$v0,$zero,$L92
	lw	$v1,64($fp)
	lw	$v0,64($fp)
	lw	$v0,4($v0)
	addu	$v0,$v0,-1
	sw	$v0,4($v1)
	bgez	$v0,$L96
	lw	$a0,64($fp)
	la	$t9,__srget
	jal	$ra,$t9
	sw	$v0,76($fp)
	b	$L97
$L96:
	lw	$v0,64($fp)
	lw	$v1,0($v0)
	move	$a0,$v1
	lbu	$a0,0($a0)
	sw	$a0,76($fp)
	addu	$v1,$v1,1
	sw	$v1,0($v0)
$L97:
	lw	$v1,76($fp)
	sw	$v1,60($fp)
	li	$v0,-1			# 0xffffffffffffffff
	bne	$v1,$v0,$L93
	b	$L92
$L93:
	addu	$a1,$fp,56
	lw	$a0,0($a1)
	move	$v0,$a0
	sll	$v1,$v0,2
	addu	$v0,$fp,24
	addu	$v0,$v1,$v0
	addu	$v1,$v0,8
	lw	$v0,60($fp)
	sw	$v0,0($v1)
	addu	$a0,$a0,1
	sw	$a0,0($a1)
	b	$L91
$L92:
	lw	$v0,56($fp)
	blez	$v0,$L88
	addu	$v0,$fp,32
	addu	$v1,$fp,48
	move	$a0,$v0
	move	$a1,$v1
	lw	$a2,56($fp)
	la	$t9,doDecode
	jal	$ra,$t9
	sw	$v0,68($fp)
	lw	$v1,68($fp)
	li	$v0,-1			# 0xffffffffffffffff
	bne	$v1,$v0,$L99
	lw	$a0,24($fp)
	la	$t9,fclose
	jal	$ra,$t9
	lw	$a0,100($fp)
	la	$t9,close
	jal	$ra,$t9
	lw	$a0,96($fp)
	la	$t9,close
	jal	$ra,$t9
	li	$a0,1			# 0x1
	la	$t9,exit
	jal	$ra,$t9
$L99:
	lw	$v1,68($fp)
	li	$v0,-1			# 0xffffffffffffffff
	bne	$v1,$v0,$L100
	li	$v0,-1			# 0xffffffffffffffff
	sw	$v0,72($fp)
	b	$L83
$L100:
	sw	$zero,56($fp)
$L101:
	lw	$v0,56($fp)
	lw	$v1,68($fp)
	slt	$v0,$v0,$v1
	bne	$v0,$zero,$L104
	b	$L88
$L104:
	addu	$v1,$fp,48
	lw	$v0,56($fp)
	addu	$v0,$v1,$v0
	lb	$v0,0($v0)
	move	$a0,$v0
	lw	$a1,24($fp)
	la	$t9,__sputc
	jal	$ra,$t9
	lw	$v0,56($fp)
	addu	$v0,$v0,1
	sw	$v0,56($fp)
	b	$L101
$L89:
	lw	$a0,24($fp)
	la	$t9,fclose
	jal	$ra,$t9
	lw	$a0,100($fp)
	la	$t9,close
	jal	$ra,$t9
	lw	$a0,96($fp)
	la	$t9,close
	jal	$ra,$t9
	sw	$zero,72($fp)
$L83:
	lw	$v0,72($fp)
	move	$sp,$fp
	lw	$ra,88($sp)
	lw	$fp,84($sp)
	addu	$sp,$sp,96
	j	$ra
	.end	decode
	.size	decode, .-decode
	.rdata
	.align	2
$LC21:
	.ascii	"version\000"
	.align	2
$LC22:
	.ascii	"help\000"
	.align	2
$LC23:
	.ascii	"encode\000"
	.align	2
$LC24:
	.ascii	"decode\000"
	.align	2
$LC25:
	.ascii	"input\000"
	.align	2
$LC26:
	.ascii	"output\000"
	.data
	.align	2
	.type	longopts.0, @object
	.size	longopts.0, 112
longopts.0:
	.word	$LC21
	.word	0
	.word	0
	.word	86
	.word	$LC22
	.word	0
	.word	0
	.word	104
	.word	$LC23
	.word	0
	.word	0
	.word	101
	.word	$LC24
	.word	0
	.word	0
	.word	100
	.word	$LC25
	.word	1
	.word	0
	.word	105
	.word	$LC26
	.word	1
	.word	0
	.word	111
	.word	0
	.word	0
	.word	0
	.word	0
	.rdata
	.align	2
$LC27:
	.ascii	"o:i:edVh\000"
	.align	2
$LC28:
	.ascii	"unable to open %s\n\000"
	.align	2
$LC29:
	.ascii	"-- TP0 --\n\000"
	.align	2
$LC30:
	.ascii	"Organizaci\303\263n de Computadoras - 66.20\n\000"
	.align	2
$LC31:
	.ascii	"Version 1.0\n\000"
	.text
	.align	2
	.globl	main
	.ent	main
main:
	.frame	$fp,72,$ra		# vars= 24, regs= 3/0, args= 24, extra= 8
	.mask	0xd0000000,-8
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$t9
	.set	reorder
	subu	$sp,$sp,72
	.cprestore 24
	sw	$ra,64($sp)
	sw	$fp,60($sp)
	sw	$gp,56($sp)
	move	$fp,$sp
	sw	$a0,72($fp)
	sw	$a1,76($fp)
	sw	$zero,32($fp)
	li	$v0,1			# 0x1
	sw	$v0,36($fp)
	li	$v0,1			# 0x1
	sw	$v0,44($fp)
$L106:
	sw	$zero,16($sp)
	lw	$a0,72($fp)
	lw	$a1,76($fp)
	la	$a2,$LC27
	la	$a3,longopts.0
	la	$t9,getopt_long
	jal	$ra,$t9
	sw	$v0,40($fp)
	lw	$v1,40($fp)
	li	$v0,-1			# 0xffffffffffffffff
	bne	$v1,$v0,$L108
	b	$L107
$L108:
	lw	$v0,40($fp)
	addu	$v0,$v0,-86
	sw	$v0,52($fp)
	lw	$v1,52($fp)
	sltu	$v0,$v1,26
	beq	$v0,$zero,$L118
	lw	$v0,52($fp)
	sll	$v1,$v0,2
	la	$v0,$L119
	addu	$v0,$v1,$v0
	lw	$v0,0($v0)
	.cpadd	$v0
	j	$v0
	.rdata
	.align	2
$L119:
	.gpword	$L117
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L115
	.gpword	$L114
	.gpword	$L118
	.gpword	$L118
	.gpword	$L116
	.gpword	$L112
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L118
	.gpword	$L110
	.text
$L110:
	lw	$v0,optarg
	lb	$v1,0($v0)
	li	$v0,45			# 0x2d
	beq	$v1,$v0,$L106
	lw	$a0,optarg
	li	$a1,514			# 0x202
	li	$a2,420			# 0x1a4
	la	$t9,open
	jal	$ra,$t9
	sw	$v0,36($fp)
	lw	$v1,36($fp)
	li	$v0,-1			# 0xffffffffffffffff
	bne	$v1,$v0,$L106
	la	$a0,__sF+176
	la	$a1,$LC28
	lw	$a2,optarg
	la	$t9,fprintf
	jal	$ra,$t9
	lw	$v0,76($fp)
	lw	$a0,0($v0)
	la	$t9,usage
	jal	$ra,$t9
	li	$a0,1			# 0x1
	la	$t9,exit
	jal	$ra,$t9
$L112:
	lw	$v0,optarg
	lb	$v1,0($v0)
	li	$v0,45			# 0x2d
	beq	$v1,$v0,$L106
	lw	$a0,optarg
	move	$a1,$zero
	move	$a2,$zero
	la	$t9,open
	jal	$ra,$t9
	sw	$v0,32($fp)
	lw	$v1,32($fp)
	li	$v0,-1			# 0xffffffffffffffff
	bne	$v1,$v0,$L106
	la	$a0,__sF+176
	la	$a1,$LC28
	lw	$a2,optarg
	la	$t9,fprintf
	jal	$ra,$t9
	lw	$v0,76($fp)
	lw	$a0,0($v0)
	la	$t9,usage
	jal	$ra,$t9
	li	$a0,1			# 0x1
	la	$t9,exit
	jal	$ra,$t9
$L114:
	li	$v0,1			# 0x1
	sw	$v0,44($fp)
	b	$L106
$L115:
	li	$v0,2			# 0x2
	sw	$v0,44($fp)
	b	$L106
$L116:
	lw	$v0,76($fp)
	lw	$a0,0($v0)
	la	$t9,usage
	jal	$ra,$t9
	move	$a0,$zero
	la	$t9,exit
	jal	$ra,$t9
$L117:
	la	$a0,$LC29
	la	$t9,printf
	jal	$ra,$t9
	la	$a0,$LC30
	la	$t9,printf
	jal	$ra,$t9
	la	$a0,$LC31
	la	$t9,printf
	jal	$ra,$t9
	move	$a0,$zero
	la	$t9,exit
	jal	$ra,$t9
$L118:
	lw	$v0,76($fp)
	lw	$a0,0($v0)
	la	$t9,usage
	jal	$ra,$t9
	move	$a0,$zero
	la	$t9,exit
	jal	$ra,$t9
$L107:
	lw	$v1,44($fp)
	li	$v0,1			# 0x1
	bne	$v1,$v0,$L120
	lw	$a0,32($fp)
	lw	$a1,36($fp)
	la	$t9,encode
	jal	$ra,$t9
	sw	$v0,48($fp)
	b	$L105
$L120:
	lw	$a0,32($fp)
	lw	$a1,36($fp)
	la	$t9,decode
	jal	$ra,$t9
	sw	$v0,48($fp)
$L105:
	lw	$v0,48($fp)
	move	$sp,$fp
	lw	$ra,64($sp)
	lw	$fp,60($sp)
	addu	$sp,$sp,72
	j	$ra
	.end	main
	.size	main, .-main
	.align	2
	.ent	__sputc
__sputc:
	.frame	$fp,48,$ra		# vars= 8, regs= 3/0, args= 16, extra= 8
	.mask	0xd0000000,-8
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$t9
	.set	reorder
	subu	$sp,$sp,48
	.cprestore 16
	sw	$ra,40($sp)
	sw	$fp,36($sp)
	sw	$gp,32($sp)
	move	$fp,$sp
	sw	$a0,48($fp)
	sw	$a1,52($fp)
	lw	$v1,52($fp)
	lw	$v0,52($fp)
	lw	$v0,8($v0)
	addu	$v0,$v0,-1
	sw	$v0,8($v1)
	bgez	$v0,$L15
	lw	$v0,52($fp)
	lw	$v1,52($fp)
	lw	$a0,8($v0)
	lw	$v0,24($v1)
	slt	$v0,$a0,$v0
	bne	$v0,$zero,$L14
	lb	$v1,48($fp)
	li	$v0,10			# 0xa
	bne	$v1,$v0,$L15
	b	$L14
$L15:
	lw	$a1,52($fp)
	lw	$v1,0($a1)
	lbu	$a0,48($fp)
	move	$v0,$v1
	sb	$a0,0($v0)
	andi	$v0,$a0,0x00ff
	addu	$v1,$v1,1
	sw	$v1,0($a1)
	sw	$v0,24($fp)
	b	$L13
$L14:
	lw	$a0,48($fp)
	lw	$a1,52($fp)
	la	$t9,__swbuf
	jal	$ra,$t9
	sw	$v0,24($fp)
$L13:
	lw	$v0,24($fp)
	move	$sp,$fp
	lw	$ra,40($sp)
	lw	$fp,36($sp)
	addu	$sp,$sp,48
	j	$ra
	.end	__sputc
	.size	__sputc, .-__sputc
	.ident	"GCC: (GNU) 3.3.3 (NetBSD nb3 20040520)"
